iT邦幫忙

2021 iThome 鐵人賽

DAY 21
0
自我挑戰組

CPE題目練習系列 第 21

[Day21]Palindromes

  • 分享至 

  • xImage
  •  

上一篇介紹了The Huge One,這題因為數字太大,所以選擇使用了BigInteger,當然各位也可以不使用這個方法,但我覺得這方法比較方便,可以直接除,接下來只需要在判斷要怎麼輸出就可以咯。

今天講解的題目是Palindromes
先附上程式碼:

import java.util.;
import static java.lang.System.
;
public class main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
char b[]={'A','E','H','I','J','L','M','O','S','T','U','V','W','X','Y','Z','1','2','3','5','8'};
char B[]={'A','3','H','I','L','J','M','O','2','T','U','V','W','X','Y','5','1','S','E','Z','8'};
while(sc.hasNext()){
StringBuilder A=new StringBuilder(sc.next());
StringBuilder a=new StringBuilder("");
for(int i=0;i<A.length();i++){
int C=-1;
for(int j=0;j<b.length;j++){
if(A.charAt(i)==b[j]){
C=j;
break;
}
}
if(C!=-1)a.append(B[C]);
else a.append(' ');
}
String Q=A.toString();
String q=a.toString();
A.reverse();
a.reverse();
if(Q.equals(a.toString())){
if(q.equals(a.toString())) System.out.println(Q+" -- "+"is a mirrored palindrome.");
else System.out.println(Q+" -- "+"is a mirrored string.");

		}else{
			if(Q.equals(A.toString())) System.out.println(Q+" -- "+"is a regular palindrome.");
			else System.out.println(Q+" -- "+"is not a palindrome.");
		}
		System.out.println("");
	}
}

}

今天的講解就到這裡。
明天也是新的題目,會介紹The 3n + 1 problem ,繼續加油!


上一篇
[Day20]The Huge One
下一篇
[Day22]The 3n + 1 problem
系列文
CPE題目練習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言